#控制台接收2个数
m=input('The first number:')
n=input('The second number:')

#求出1个预计值做被除数或除数。
a=m*n
#定义2个列表
l=[]
b=[]


def gcb(n,m):
	try:
		#将a的值转换为列表遍历
		for i in range(a):
			#i对n，m取余筛选出所有余为0的值
			if i%n==0 and i%m==0:
				#将i注入列表l
				l.append(i)
				#遍历l列表
				for y in l:
					#列表l中y等于0的值过滤掉
					if y!=0:
						#将y分别注入b列表
						b.append(y)
		#输出b列表中的最小值
		print min(b)
	#打印异常
	except Exception:
		print 'error'
	print '^^^^^^^^^^^^^^^'
	#将a转换成从1开始的列表，应为除数不为0
	for i in range(1,a):
		#过滤n,m分别对i取余等于的值
		if n%i==0 and m%i==0:
			#将i的值赋给hcf
			hcf=i
	#遍历结束后返回最大的i(hcf)值
	return hcf

print gcb(n,m)